Dependencies
CMake
Building tool used by WOLF and by some of its dependencies. In order to
install cmake please follow the instructions at cmake
site. WOLF requires >= CMake-3.18
which can usually be installed via repository.
Eigen
Eigen is a linear algebra, header library.
WOLF requires Eigen >= 3.3.7. We recommend to install it via apt.
sudo apt install libeigen3-dev
Ceres
Ceres is an optimization library. Currently, this dependency is mandatory.
All ceres dependencies can be installed via apt
sudo apt install libgoogle-glog-dev libgflags-dev libatlas-base-dev libsuitesparse-dev
Ceres 2.2 can be installed:
wget http://ceres-solver.org/ceres-solver-2.2.0.tar.gz
tar zxf ceres-solver-2.2.0.tar.gz
rm ceres-solver-2.2.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.2.0
make
make test
sudo make install
yaml-cpp
WOLF uses YAML files for configuration and for saving and loading workspaces. Minimum version required is 0.7.
From ubuntu 22.04, it can be installed via apt:
sudo apt install libyaml-cpp-dev
In previous ubuntu distributions, it has to be installed via source.
yaml-schema-cpp
yaml-schema-cpp is a library for specifying and checking the structure, entries and types of YAML files.
To install it:
git clone -b main --depth 1 https://github.com/joanvallve/yaml-schema-cpp.git
cd yaml-schema-cpp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
make
sudo make install
spdlog
WOLF uses spdlog library for logging. Minimum version required is v1.0.0. It can be installed via apt:
sudo apt install libspdlog-dev
Boost (optional)
Boost 1.73 or higher is an optional dependency. If found, the macro Macros for processors is fully operative.